package com.eblacorp.archive.security.ldap.dao;

import java.util.List;

import com.eblacorp.archive.security.ldap.model.Group;
import com.eblacorp.archive.security.ldap.model.SearchCriteria;
/**
 * @author Mahmoud.Ezzat
 * 
 */
public interface GroupDao {
	public void create(Group group);

	public void update(Group group);

	public void delete(Group group);

	public Group findByPrimaryKey(String name);

	public List findAll();

	public List find(SearchCriteria criteria);

	/**
	 * Update all groups referring to the original DN with the new DN value.
	 * 
	 * @param originalDn
	 *            the original DN.
	 * @param newDn
	 *            the new DN.
	 */
	public void updateMemberDn(String originalDn, String newDn);
}
